HTMLify
script.js
Views: 9 | Author: cody
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | const display = document.querySelector(".display"); const buttons = document.querySelectorAll("button"); const specialChars = ["%", "*", "/", "-", "+", "="]; let output = ""; //Define function to calculate based on button clicked. const calculate = (btnValue) => { display.focus(); if (btnValue === "=" && output !== "") { //If output has '%', replace with '/100' before evaluating. output = eval(output.replace("%", "/100")); } else if (btnValue === "AC") { output = ""; } else if (btnValue === "DEL") { //If DEL button is clicked, remove the last character from the output. output = output.toString().slice(0, -1); } else { //If output is empty and button is specialChars then return if (output === "" && specialChars.includes(btnValue)) return; output += btnValue; } display.value = output; }; //Add event listener to buttons, call calculate() on click. buttons.forEach((button) => { //Button click listener calls calculate() with dataset value as argument. button.addEventListener("click", (e) => calculate(e.target.dataset.value)); }); |